Android的界面绘制,都是通过 WindowManager 的服务来实现的。 WindowManager 实现了 ViewManager 接口,可以通过获取 WINDOW_SERVICE 系统服务得到。而 ViewManager 接口有 addView 方法,我们就是通过这个方法将悬浮窗控件加入到屏幕中去。
为了让悬浮窗与Activity脱离,使其在应用处于后台时悬浮窗仍然可以正常运行,使用Service来启动悬浮窗并做为其背后逻辑支撑。
权限在 API Level >= 23 的时候,需要在AndroidManefest.xml文件中